﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Xml;

namespace CommonFunction
{
    public static class Pokerist_Common
    {
        public enum GAME_STATUS
        {
            LOGIN = 1,
            READY = 2,
            START = 3,
            INGAME = 4,
            PLAY = 5,
            PAUSE = 6,
            SIGNOUT = 7
        }

        public enum ROLES
        {
            FOLLOW = 1,
            RAISE = 2,
            RAISE_ALWAYS = 3
        }

        [DefaultValue(ROLES.FOLLOW)]
        public static ROLES Poker_Role { get; set; }

        [DefaultValue(GAME_STATUS.LOGIN)]
        public static GAME_STATUS GameStatus { get; set; }

        //public static bool IsRaiser { get; set; }
        public static UInt16 NoOfFollowing { get; set; }

        [DefaultValue(GAME_POSITION.LOBBY)]
        public static GAME_POSITION GamePosition { get; set; }

        public enum GAME_POSITION
        {
            LOBBY = 1,
            INGAME = 2
        }

        public static Int32 CURRENT_THREAD_ID { get; set; }
        public static DateTime? TIME_STOP { get; set; }
        public static Int32 TOTAL_TURN_RESET { get; set; }
        public static Int32 TIME_RESUME { get; set; }

        public static UInt16 GAME_AMOUNT { get; set; }
        public static UInt16 GAME_RAISE { get; set; }

        public static string Data_FilePath { get; set; }
        public static string Invited_FilePath { get; set; }
        public static string Ready_FilePath { get; set; }
        public static string RaiseTurn_FilePath { get; set; }
        public static string Result_FilePath { get; set; }
        public static string TurnResult_FilePath { get; set; }
        public static string Check_FilePath { get; set; }

        public static IntPtr HANDLER { get; set; }
        public static string PokerTitle { get; set; }
        public static UInt16 Game_Amount { get; set; }
        public static UInt16 Game_Raise { get; set; }
        public static UInt16 Game_Turn_Fold { get; set; }
        public static bool CallAny = false;
        public static int GAME_DELAY = 3000;

        public const UInt16 PLAY_POS_X = 631;
        public const UInt16 PLAY_POS_Y = 23;

        public const UInt16 INVITED_IMAGE_POS_X = 494;
        public const UInt16 INVITED_IMAGE_POS_Y = 362;
        public const UInt16 INVITED_WIDTH = 20;
        public const UInt16 INVITED_HEIGH = 15;
        public const UInt16 INVITED_POS_X = 502;
        public const UInt16 INVITED_POS_Y = 370;

        public const UInt16 RESET_DEC_POS_X = 338;
        public const UInt16 RESET_DEC_POS_Y = 178;
        public const UInt16 RESET_ICR_POS_X = 551;
        public const UInt16 RESET_ICR_POS_Y = 177;
        public const UInt16 RESET_OK_POS_X = 525;
        public const UInt16 RESET_OK_POS_Y = 361;

        public const UInt16 READY_IMAGE_POS_X = 318;
        public const UInt16 READY_IMAGE_POS_Y = 545;
        public const UInt16 READY_WIDTH = 20;
        public const UInt16 READY_HEIGH = 15;

        public const UInt16 FOLD_POS_X = 360;
        public const UInt16 FOLD_POS_Y = 554;
        public const UInt16 FOLLOW_POS_X = 495;
        public const UInt16 FOLLOW_POS_Y = 517;

        public const UInt16 CHECK_IMAGE_POS_X = 318;
        public const UInt16 CHECK_IMAGE_POS_Y = 508;
        public const UInt16 CHECK_WIDTH = 20;
        public const UInt16 CHECK_HEIGH = 15;
        public const UInt16 CHECK_POS_X = 360;
        public const UInt16 CHECK_POS_Y = 517;

        public const UInt16 RAISE_POS_X = 495;
        public const UInt16 RAISE_POS_Y = 554;
        public const UInt16 RAISE_DEC_POS_X = 347;
        public const UInt16 RAISE_DEC_POS_Y = 590;
        public const UInt16 RAISE_MIN_POS_X = 347;
        public const UInt16 RAISE_MAX_POS_X = 523;
        public static UInt16 RAISE_ICR_POS_X = 523;
        public const UInt16 RAISE_ICR_POS_Y = 590;

        public const UInt16 LOAD_PROFILE_POS_X = 434;
        public const UInt16 LOAD_PROFILE_POS_Y = 393;
        public const UInt16 AMOUNT_POS_X = 729;
        public const UInt16 AMOUNT_POS_Y = 649;

        public const UInt16 TURN_IMAGE_POS_X = 389;
        public const UInt16 TURN_IMAGE_POS_Y = 314;
        public const UInt16 TURN_WIDTH = 15;
        public const UInt16 TURN_HEIGH = 18;

        public const UInt16 AMOUNT_OK_POS_X = 436;
        public const UInt16 AMOUNT_OK_POS_Y = 369;

        public static DateTime StartPeriod = new DateTime(2014, 1, 12);
        public static DateTime NetWorkTime;
        public static bool HasLicensed;
        public const int Period = 1;
        public const int LimitAccountLive = 20;
    }
}
